In NAND flash memories, bit-line defects cause entire columns of bits in a block or die to be stuck at a certain state. The defects can occur at manufacture time and can grow in number due to program/erase cycles over a life of the memory. Hence, detecting such defects over the lifetime of the flash memory is difficult if access to written data is limited. Dedicated known a priori data can be used to find error locations, but writing the dedicated data to detect the bit-line defects is a waste of write/read cycles, degrades the flash media further, and may interrupt drive operation.
During scheduled read scrubs of blocks, decoding of read data may fail. Therefore, the unsuccessful decoding will also fail to provide the dedicated data that can be used to detect the errors caused by the bit-line defects through such an approach. Furthermore, the bit-line defects can grow to a number that causes the decoding to fail in a time window outside the scheduled read scrubs of the data. Firmware/software used in the decoding may also become inoperable and so the source of the block failure should be investigated. The decoding can also fail to converge for various reasons, such as system failures, degraded storage media and/or corrupt data.